<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/Timetable.Base.Entities" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Timetable.Base.Entities" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:18822/Services/Faculty.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="ArrayOfFaculty">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Faculty" nillable="true" type="tns:Faculty" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfFaculty" nillable="true" type="tns:ArrayOfFaculty" />
  <xs:complexType name="Faculty">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseEntity">
        <xs:sequence>
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ScheduleInfoes" nillable="true" type="tns:ArrayOfScheduleInfo" />
          <xs:element minOccurs="0" name="ShortName" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Faculty" nillable="true" type="tns:Faculty" />
  <xs:complexType name="BaseEntity">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BaseEntity" nillable="true" type="tns:BaseEntity" />
  <xs:complexType name="ArrayOfScheduleInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ScheduleInfo" nillable="true" type="tns:ScheduleInfo" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfScheduleInfo" nillable="true" type="tns:ArrayOfScheduleInfo" />
  <xs:complexType name="ScheduleInfo">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseEntity">
        <xs:sequence>
          <xs:element minOccurs="0" name="Courses" nillable="true" type="tns:ArrayOfCourse" />
          <xs:element minOccurs="0" name="Department" nillable="true" type="tns:Department" />
          <xs:element minOccurs="0" name="Faculties" nillable="true" type="tns:ArrayOfFaculty" />
          <xs:element minOccurs="0" name="Groups" nillable="true" type="tns:ArrayOfGroup" />
          <xs:element minOccurs="0" name="HoursPerWeek" type="xs:int" />
          <xs:element minOccurs="0" name="Lecturer" nillable="true" type="tns:Lecturer" />
          <xs:element minOccurs="0" name="LikeAuditoriums" nillable="true" type="tns:ArrayOfAuditorium" />
          <xs:element minOccurs="0" name="Schedules" nillable="true" type="tns:ArrayOfSchedule" />
          <xs:element minOccurs="0" name="Specialities" nillable="true" type="tns:ArrayOfSpeciality" />
          <xs:element minOccurs="0" name="SubgroupCount" type="xs:int" />
          <xs:element minOccurs="0" name="Tutorial" nillable="true" type="tns:Tutorial" />
          <xs:element minOccurs="0" name="TutorialType" nillable="true" type="tns:TutorialType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ScheduleInfo" nillable="true" type="tns:ScheduleInfo" />
  <xs:complexType name="ArrayOfCourse">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Course" nillable="true" type="tns:Course" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCourse" nillable="true" type="tns:ArrayOfCourse" />
  <xs:complexType name="Course">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseEntity">
        <xs:sequence>
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ScheduleInfoes" nillable="true" type="tns:ArrayOfScheduleInfo" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Course" nillable="true" type="tns:Course" />
  <xs:complexType name="Department">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseEntity">
        <xs:sequence>
          <xs:element minOccurs="0" name="Faculty" nillable="true" type="tns:Faculty" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ShortName" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Department" nillable="true" type="tns:Department" />
  <xs:complexType name="ArrayOfGroup">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Group" nillable="true" type="tns:Group" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfGroup" nillable="true" type="tns:ArrayOfGroup" />
  <xs:complexType name="Group">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseEntity">
        <xs:sequence>
          <xs:element minOccurs="0" name="Code" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Course" nillable="true" type="tns:Course" />
          <xs:element minOccurs="0" name="Parent" nillable="true" type="tns:Group" />
          <xs:element minOccurs="0" name="ScheduleInfoes" nillable="true" type="tns:ArrayOfScheduleInfo" />
          <xs:element minOccurs="0" name="Speciality" nillable="true" type="tns:Speciality" />
          <xs:element minOccurs="0" name="StudentsCount" nillable="true" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Group" nillable="true" type="tns:Group" />
  <xs:complexType name="Speciality">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseEntity">
        <xs:sequence>
          <xs:element minOccurs="0" name="Code" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Department" nillable="true" type="tns:Department" />
          <xs:element minOccurs="0" name="Groups" nillable="true" type="tns:ArrayOfGroup" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ScheduleInfoes" nillable="true" type="tns:ArrayOfScheduleInfo" />
          <xs:element minOccurs="0" name="ShortName" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Speciality" nillable="true" type="tns:Speciality" />
  <xs:complexType name="Lecturer">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseEntity">
        <xs:sequence>
          <xs:element minOccurs="0" name="Contacts" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Department" nillable="true" type="tns:Department" />
          <xs:element minOccurs="0" name="Firstname" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Lastname" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Middlename" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Rank" nillable="true" type="tns:Rank" />
          <xs:element minOccurs="0" name="ScheduleInfoes" nillable="true" type="tns:ArrayOfScheduleInfo" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Lecturer" nillable="true" type="tns:Lecturer" />
  <xs:complexType name="Rank">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseEntity">
        <xs:sequence>
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Position" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Rank" nillable="true" type="tns:Rank" />
  <xs:complexType name="ArrayOfAuditorium">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Auditorium" nillable="true" type="tns:Auditorium" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAuditorium" nillable="true" type="tns:ArrayOfAuditorium" />
  <xs:complexType name="Auditorium">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseEntity">
        <xs:sequence>
          <xs:element minOccurs="0" name="Building" nillable="true" type="tns:Building" />
          <xs:element minOccurs="0" name="Capacity" type="xs:int" />
          <xs:element minOccurs="0" name="Info" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Number" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ScheduleInfoes" nillable="true" type="tns:ArrayOfScheduleInfo" />
          <xs:element minOccurs="0" name="TutorialApplicabilities" nillable="true" type="tns:ArrayOfTutorialType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Auditorium" nillable="true" type="tns:Auditorium" />
  <xs:complexType name="Building">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseEntity">
        <xs:sequence>
          <xs:element minOccurs="0" name="Address" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Info" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ShortName" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Building" nillable="true" type="tns:Building" />
  <xs:complexType name="ArrayOfTutorialType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TutorialType" nillable="true" type="tns:TutorialType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTutorialType" nillable="true" type="tns:ArrayOfTutorialType" />
  <xs:complexType name="TutorialType">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseEntity">
        <xs:sequence>
          <xs:element minOccurs="0" name="AuditoriumApplicabilities" nillable="true" type="tns:ArrayOfAuditorium" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="TutorialType" nillable="true" type="tns:TutorialType" />
  <xs:complexType name="ArrayOfSchedule">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Schedule" nillable="true" type="tns:Schedule" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSchedule" nillable="true" type="tns:ArrayOfSchedule" />
  <xs:complexType name="Schedule">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseEntity">
        <xs:sequence>
          <xs:element minOccurs="0" name="Auditorium" nillable="true" type="tns:Auditorium" />
          <xs:element minOccurs="0" name="DayOfWeek" type="xs:int" />
          <xs:element minOccurs="0" name="EndDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="Period" nillable="true" type="tns:Time" />
          <xs:element minOccurs="0" name="ScheduleInfo" nillable="true" type="tns:ScheduleInfo" />
          <xs:element minOccurs="0" name="StartDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="WeekType" nillable="true" type="tns:WeekType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Schedule" nillable="true" type="tns:Schedule" />
  <xs:complexType name="Time">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseEntity">
        <xs:sequence>
          <xs:element minOccurs="0" name="End" type="ser:duration" />
          <xs:element minOccurs="0" name="Start" type="ser:duration" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Time" nillable="true" type="tns:Time" />
  <xs:complexType name="WeekType">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseEntity">
        <xs:sequence>
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="WeekType" nillable="true" type="tns:WeekType" />
  <xs:complexType name="ArrayOfSpeciality">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Speciality" nillable="true" type="tns:Speciality" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSpeciality" nillable="true" type="tns:ArrayOfSpeciality" />
  <xs:complexType name="Tutorial">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseEntity">
        <xs:sequence>
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ScheduleInfoes" nillable="true" type="tns:ArrayOfScheduleInfo" />
          <xs:element minOccurs="0" name="ShortName" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Tutorial" nillable="true" type="tns:Tutorial" />
</xs:schema>